Integrated circuits generally include multiple logic blocks that may be used to implement a wide variety of functions including, among others, image processing algorithms. This allows them to be used in video processing applications that are typically required in video surveillance and other imaging systems.
Integrated circuit devices, when used in such systems, typically include circuitry and logic blocks that are configured as image processing tools (e.g., edge detection tool, corner detection, etc.). Edge detection, as its name suggests, is a method of identifying and determining edges in an image (i.e., discontinuities and changes in an image). Generally, edges in images are areas with strong contrast levels (e.g., a significant difference in contrast values from one pixel to an immediately adjacent pixel). Accordingly, edge detection algorithms may be used as a filter to identify important information (e.g., an outline of an object) in an image.
Various well-known edge detector operators such as the Sobel, Canny, and Harris operators may be used to obtain edge direction information in progressive video frames (video frames where all the lines in each frame are scanned or drawn sequentially). The various edge detector operators may also be adapted to detect edges in interlaced video fields. As is generally known, an interlaced video or image contains two fields of lines (i.e., a field displaying the odd lines and another field displaying the even lines of the video frame).
When an interlaced video frame is displayed on a progressive scan monitor, it needs to be converted to a non-interlaced video format. However, depending on the edge detector operator used and how the interpolation is performed, the deinterlaced video (the resulting interpolated image) may contain noticeable artifacts.